/**
 * 1.封装功能函数
 *  1.功能明确
 *  2.函数内部应该保留固定代码（静态代码）
 *  3.将动态函数抽取成形参，由使用者根据自身情况动态传入实参
 *  4.一个良好的功能函数应当设置形参的默认值
 *
 * 2.封装功能组件
 *  1.功能点明确
 *  2.组件内部保留静态代码
 *  3.将动态数据抽取成props参数，由使用者根标签属性props动态传入
 *  4.以良好的组件应该设置组件的必要性及组件类型
 */

import config from "./config";

export default (url, data = {}, method = "get") => {
  return new Promise((resolve, reject) => {
    wx.request({
      // url: config.host + url,
      url: config.mobile + url,
      data,
      method,
      header: {
        cookie: wx.getStorageSync("cookies")
          ? wx
              .getStorageSync("cookies")
              .join('')
          : "",
      },
      success: (res) => {
        if (data.isLogin) {
          // console.log("banner：success：", res);
          wx.setStorage({ key: "cookies", data: res.cookies });
        }
        resolve(res.data);
      },
      fail: (err) => {
        console.log("banner:falil", err);
        reject(err);
      },
    });
  });
};
